import { defineConfig, uno, variantGroup } from '../../js_sdk/a-hua-unocss';

/** 
 * 配置项；
 * uno.config.[js|ts]；
 * 注：配置根据自己项目来，不要复制以下整个配置，以下只是所有配置示例；
 */
export default defineConfig({
	/** 
	 * 读取 uni.scss 文件内容生成颜色预设值；
	 * 正则匹配：/\$[a-z0-9]+((\x20)+)?:((\x20)+)?\#([a-zA-Z0-9]{8|6|4|3})/g；
	 * 注：只有 # 后面为 3位 或 6位 才有透明度；
	 */
	readUniScssFileGenerateColorPresetValue: true,

	/** 运行环境 */
	mode: "development",

	/** 排出检测原子化 CSS 的目录或文件 */
	exclude: ['uni_modules', 'node_modules', 'tmui'],

	/** 
	 * 日志记录: 写法一
	 * 最终参数同一化：(filePath: string) => !!options.log
	 * 开启后会在项目根目录生成 log.json 文件，记录为匹配到原子化预设规则的 class name
	 */
	log: true,

	/** 日志记录: 写法二 */
	// log: (filePath: string) => true,

	/** 预设 */
	presets: [
		/** 默认预设规则 */
		uno()
	],

	/** 变形 */
	transformers: [
		/** 伪类、伪元素 */
		variantGroup()
	],

	/** 快捷方式；写法一 */
	// shortcuts: {
	// 	'btn': 'py-2 px-4',
	// 	'red': 'text-red-100',
	// 	'btn-green': 'text-white bg-green-70'
	// },

	/** 快捷方式；写法二 */
	// shortcuts: [
	// 	[
	// 		/^c-(.*)$/,
	// 		([, , c], color) => `text-${color[c] || c}`
	// 	]
	// ]

	/** 自定义预设 CSS 规则 */
	rules: [
		[/^fs-(\d+)$/, ([, , d]) => ({ 'font-size': `${d}rpx` })],
		[/^t-(\d+)$/, ([, , d]) => ({ 'top': `${d}rpx` })],
		[/^b-(\d+)$/, ([, , d]) => ({ 'bottom': `${d}rpx` })],
		[/^l-(\d+)$/, ([, , d]) => ({ 'left': `${d}rpx` })],
		[/^r-(\d+)$/, ([, , d]) => ({ 'right': `${d}rpx` })]

	]
});